//
//  MensaWidgetViewController.m
//  MensaWidget
//
//  Created by Stephan Arlt on 12.02.11.
//  Copyright 2011 University of Freiburg. All rights reserved.
//

#import "MensaWidgetViewController.h"
#import "MensaViewController.h"

@implementation MensaWidgetViewController

//////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////
- (void) viewDidLoad
{
	// init title
	self.title = @"MensaWidget";
	
	// create MensaWidget
	mensaWidget = [[MensaWidget alloc] init];	
	[self refresh];
	
	// setup refresh item
	UIBarButtonItem *refreshItem =
		[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
															 target:self
															 action:@selector(refresh)];
	
	self.navigationItem.rightBarButtonItem = refreshItem;
}

//////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////
- (void) refresh
{
	// run parser
	if ( ![mensaWidget parse] )
	{
		UIAlertView *alertView = [[UIAlertView alloc]
								  initWithTitle:@"Fehler"
								  message:@"Das MensaWidget konnte nicht aktualisiert werden!"
								  delegate:self
								  cancelButtonTitle:nil
								  otherButtonTitles:@"OK", nil];
		[alertView show];
	}
	
	// reload table view
	[self.tableView reloadData];
}

//////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{
	return mensaWidget.mensen.count;
}

//////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
	static NSString *CellIdentifier = @"Cell";
	UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
	
	if (cell == nil)
	{
		cell = [[[UITableViewCell alloc]
				 initWithStyle:UITableViewCellStyleDefault
				 reuseIdentifier:CellIdentifier] autorelease];
	}
	
	Mensa *mensa = [mensaWidget.mensen objectAtIndex:indexPath.row];
	[cell.textLabel setText:mensa.name];
	cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
	
	return cell;
}

//////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
	Mensa *mensa = [mensaWidget.mensen objectAtIndex:indexPath.row];	
	MensaViewController *mensaViewController = [[MensaViewController alloc] initWithMensa:mensa];
	[self.navigationController pushViewController:mensaViewController animated:YES];
}

//////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////////
- (void) dealloc
{
	[mensaWidget release];
	[super dealloc];
}

@end
